<?php

if (isset($_POST['tag']) && $_POST['tag'] != '') {
    $tag = $_POST['tag'];
 
    // include db handler
    require_once 'DB_Functions.php';
    $db = new DB_Functions();
 
    $response = array("tag" => $tag, "success" => 0, "error" => 0);
 
    // verificacion de tag
    if ($tag == 'login') {
        
        $nombre_usuario = $_POST['nombre_usuario'];
        $password = $_POST['password'];
 
        // verificando usuario
        $user = $db->getUserByNickAndPassword($nombre_usuario, $password);
        if ($user != false) {
            // usuario encotrado
    
            $response["success"] = 1;
            $response["user"]["uid"] = $user["COD_USUARIO"];
            $response["user"]["name"] = $user["NOMBRE"];
			$response["user"]["nick"] = $user["NOMBRE_USUARIO"];
			$response["user"]["telefono"] = $user["TELEFONO"];
			$response["user"]["fecha_nacimiento"] = $user["FECHA_NACIMIENTO"];
            $response["user"]["email"] = $user["EMAIL"];
            $response["user"]["created_at"] = $user["FECHA_REGISTRO"];
            echo json_encode($response);
        } else {
            // Usuario no ecncontrado

            $response["error"] = 1;
            $response["error_msg"] = "Combinacion de Usuario y Contraseña incorrecta";
            echo json_encode($response);
        }
    } else if ($tag == 'register') {
        // Tipo de peticion es Registrar Usuario
        $nombre = $_POST['nombre'];
		$nombre_usuario = $_POST['nombre_usuario'];
		$telefono = $_POST['telefono'];
		$fecha_nacimiento= $_POST['fecha_nacimiento'];
        $email = $_POST['email'];
        $password = $_POST['password'];
 
        // check if user is already existed
        if ($db->isUserExisted($nombre_usuario)) {
            // Usuario ya existente
            $response["error"] = 2;
            $response["error_msg"] = "El usuario ya existe";
            echo json_encode($response);
        } else {
            // guardar usuario
            $user = $db->storeUser($nombre, $nombre_usuario, $telefono, $fecha_nacimiento, $email, $password);
            if ($user) {
                // exito al guardar usuario
                $response["success"] = 1;
				$response["user"]["uid"] = $user["COD_USUARIO"];
				$response["user"]["name"] = $user["NOMBRE"];
				$response["user"]["nick"] = $user["NOMBRE_USUARIO"];
				$response["user"]["telefono"] = $user["TELEFONO"];
				$response["user"]["fecha_nacimiento"] = $user["FECHA_NACIMIENTO"];
				$response["user"]["email"] = $user["EMAIL"];
				$response["user"]["created_at"] = $user["FECHA_REGISTRO"];
                echo json_encode($response);
            } else {
                // error al guardar usuario
                $response["error"] = 1;
                $response["error_msg"] = "Error al intentar registrarte intentalo de nuevo";
                echo json_encode($response);
            }
        }
    } else if ($tag=='lista_publicaciones'){
		//Tipo de peticion es Lista de Publicaciones
		$cod_usuario=$_POST['cod_usuario'];
		$nombre_usuario=$_POST['nombre_usuario'];
		$pagina=$_POST['pagina'];
		//Verificar  existencia de usuario
		if (!$db->isUserExisted($nombre_usuario)){
			//Usuario no registrado en la base de datos
			$response["error"] = 3;
            $response["error_msg"] = "Usuario no registrado";
			echo json_encode($response);
		}else{
			//Hacer la peticion de las publicaciones a la base de datos
			$publicaciones=$db->getListPub($pagina);
			if($publicaciones!=false){
				$response["success"]=1;
				$i=0;
				while($fila=mysql_fetch_array($publicaciones)){
					$response[$i]["cod"]=$fila["COP_PUBLICACION"];
					$response[$i]["titulo"]=$fila["TITULO"];
					$i++;
				}
				$response[$i]="final";
				if($i<10)
					$response[$i++]="last";
				echo json_encode($response);
			}
			else{
				$response["error"] = $publicaciones;
                $response["error_msg"] = "No existe ninguna publicacion";
				echo json_encode($response);
			}
		}
	} 
	else if ($tag==agregar_publicacion){
		//Tipo de peticion es agregar una publicacion
		$cod_usuario=$_POST['cod_usuario'];
		$nombre_usuario=$_POST['nombre_usuario'];
		$titulo=$_POST['titulo'];
		$descripcion=$_POST['descripcion'];
		$tipo=$_POST['tipo'];
		$tiempo=$_POST['tiempo'];
		$ciudad=$_POST['ciudad'];
		$direccion=$_POST['direccion'];
		$precio=$_POST['precio'];
		//Verificar existencia de usuario
		if(!$db->isUsrValid($nombre_usuario, $cod_usuario)){
			$response["error"] = 3;
            $response["error_msg"] = "Usuario no registrado";
		}
		else{
			//guardar publicacion
			$publicacion=$db->storePub($cod_usuario, $titulo, $descripcion, $tipo, $tiempo, $ciudad, $direccion, $precio);
			if($publicacion!=false){
				$response["success"] = 1;
				$response["cod_publicacion"]=$publicacion;
				echo json_encode($response);
			}
			else{
				//error al guardar publicacion
				$response["error"] = 1;
                $response["error_msg"] = "Error al realizar la publicacion";
				echo json_encode($response);
			}
			
			
		}
	
	}else{
        echo "Invalid Request";
    }
} else {
    echo "Access Denied";
}
?>